
package fr.miage.orleans.aar.ejb.peupler;

import fr.miage.orleans.aar.modele.Administrateur;
import fr.miage.orleans.aar.modele.Arbitre;
import fr.miage.orleans.aar.modele.But;
import fr.miage.orleans.aar.modele.Equipe;
import fr.miage.orleans.aar.modele.Joueur;
import fr.miage.orleans.aar.modele.MatchTour;
import fr.miage.orleans.aar.modele.PosteJoueur;
import fr.miage.orleans.aar.modele.Tournoi;
import java.util.Collection;

/**
 *
 * @author Steve Cancès <steve.cances@gmail.com>
 */
public interface FacadePeupler {
    public Collection<Equipe> getEquipesNonInscrites(int tournoiId);
    
    public Tournoi getTournoiById(int id);
    
    public Tournoi getTournoiDetailById(int id);
    
    public PosteJoueur creerPosteJoueurPourBouchon(String posteJoueurString);
    
    public Arbitre createArbitre(String nom, String prenom);

    public Joueur createJoueur(String randomNom, String randomPrenom, PosteJoueur posteJoueur);

    public Equipe createEquipe(String randomNomEquipe);

    public Equipe addJoueursToEquipe(Equipe equipe, Collection<Joueur> joueurs);

    public Tournoi creerTournoiPourBouchon(String randomNomTournoi);
    
    public Administrateur createAdmin(String nom, String prenom, String login, String password);

    public void inscrireEquipeTournoi(int tournoiId, int equipeId);
    
    public boolean validerPreparationTournoi(int tournoiId);
    
    public But addBut(int idMatch, int idEquipe, int idJoueur, int minute);
    
    public boolean commencerPremiereMiTemps(int idMatch);
    
    public void razBdd();
    
    public Collection<Arbitre> getAllArbitres();
    
    public MatchTour affecterArbitreMatch(int idMatch, int idArbitre);
}
